package com.youlai.boot.modules.tp.service;

import com.youlai.boot.modules.tp.dto.query.DateRangeQuery;
import com.youlai.boot.modules.tp.dto.response.*;

/**
 * TP看板服务接口
 * 
 * @author Jason
 * @since 2025-06-04
 */
public interface TPDashboardService {

    /**
     * 获取头部实时信息
     * 
     * @return 头部实时信息
     */
    DashboardHeaderInfoVO getHeaderInfo();

    /**
     * 获取KPI核心指标
     * 
     * @param queryParams 查询参数
     * @return KPI核心指标
     */
    KPIMetricsVO getKPIMetrics(DateRangeQuery queryParams);

    /**
     * 获取详细指标数据
     * 
     * @param queryParams 查询参数
     * @return 详细指标数据
     */
    DetailMetricsVO getDetailMetrics(DateRangeQuery queryParams);

    /**
     * 获取销售趋势数据
     * 
     * @param queryParams 查询参数
     * @return 销售趋势数据
     */
    SalesTrendResponseVO getSalesTrend(DateRangeQuery queryParams);

    /**
     * 获取品类销售占比数据
     * 
     * @param queryParams 查询参数
     * @return 品类销售占比数据
     */
    CategorySalesResponseVO getCategorySales(DateRangeQuery queryParams);

    /**
     * 获取看板完整数据
     * 
     * @param queryParams 查询参数
     * @return 看板完整数据
     */
    DashboardAllDataVO getAllData(DateRangeQuery queryParams);

    /**
     * 刷新实时数据
     * 
     * @return 实时数据
     */
    RealTimeDataVO refreshRealTimeData();
} 